A. Field of Invention
The present invention is in the field of systems and articles of manufacture to administer complex, heterogeneous networked computer systems.
B. Related Background Art
Prior art systems were deficient generally for two reasons: first, limitations inherent in available user interfaces, and second, absence of open-architecture, integrated systems effectively to manage and administer heterogeneous platforms using diverse operating systems for many different applications, including information technology and business management administration and to isolate views of specific business and management interests.
Prior art graphical user interfaces of administrative systems attempted to administer multi-unit computer networks by causing any of the four categories of information to appear on the computer monitor being used by the system administrator.
1. Lists, two-dimensional and on scrollable screens, typically using a windows program manager with many sublists showing printers, operating systems, physical sights, etc.
2. Tree diagrams showing the hierarchical relationships of the network system such as by showing the various geographical locations, the number of buildings at a location, the number of computers at each location, and the peripheral equipment associated with each computer and the systems being operated on each computer.
3. A hierarchical structure using folders and icons with each folder being a list of icons and with each icon by its color indicating the status of each unit.
4. Diagrams, with icons, of the various systems in a hierarchy.
Each of the displayed categories of information works well but with critical limitations. For example, the use of two dimensional lists is definitely limited by the number of units: as the number increases, the lists become effectively unmanageable by the user. Further, the hierarchical systems can allow increased navigating ability but are again limited to a few thousand devices and by the fact that the only relationships that can be displayed are those within the hierarchy. This is limited typically because the tree structure is based on a single hierarchy; for example, it may be organized geographically and this will not allow display of units in multiple geographical locations that are a part of a particular business interest. The hierarchical systems also have the shortcoming that limited status-indicating information may be displayed in the available space. Even when using the folders-icon system, although multiple hierarchies can be displayed, the user tends to be confused or is provided incomplete information by the limited amount of data that can be provided. Managing the user interface itself becomes a bigger concern than managing the computer network. Although through certain enhancements, the tree diagram/map system can improve on its effectiveness, such as by showing a transmission line as green if it is functioning and red if it is not, it and the other prior art interface systems are still limited to several thousand units.
In the case of all of the aforementioned prior art systems discussed above, none can be effectively used in the modern environment in which it is not uncommon to have 10,000 computer devices to more than 100,000 such devices in a networked system. Further, the prior art systems limit the scope of the responsibility of the systems administrator. As the number of units within a network system increases, the number of physical and logical relationships between the systems responsible for the various functions increases exponentially so it becomes very difficult, if not impossible, to manage the network system. Even trained professionals cannot deal with the enormous numbers of relationships that must be monitored and managed in the complex systems. With prior art systems administration interfaces, panel design, PF keys, and screen clutter prohibit the intuitive navigation that enables effective systems and enterprise management.
The second broad category of deficiencies in the prior art relate to the absence of manageable systems for networks comprised of widely diverse hardware platforms and even more widely diverse software systems and specific application programs. For some time, as computer networks became more complex, systems administrators have needed the ability to have a view of the network that identifies and presents for viewing the units or assets that function in support of a particular application, and also to have the ability to apply systems management functions (asset utilization, alarms, software distribution, etc.) to manage the particular application. Prior to the present invention, a systems administrator would have to set up different systems for different platforms and applications: e.g., an administrator may need to set up Sun NetManager or Open-View or IBM's NetView to run LANs, then set up a different set of systems management tools for each of the other platforms in a user's enterprise—e.g., a system to track activities on AS/400s; another administration system may be needed for a UNIX host and server systems (and something different for each different UNIX OS, if there is more than one in a user's network). Further, mainframe systems tools for security, backup, scheduling, etc.; plus software distribution tools, desktop asset management tools, help desk and trouble-ticketing tools all had to be separately provided, and their compatibility constantly was problematic.
In the prior art, there has not been a system or apparatus that, on a single console, effectively and in combination:                1. Uses 3-D virtual reality to map complex systems—business or Information Technology—to an intuitive and effective interface;        2. Maps systems management tasks to business functions, not to system hardware or software;        3. Achieves end-to-end comprehensive integrated systems and network management of all elements of an IT network from a single or several points of control;        4. Allows business process management of financial, manufacturing, distribution, systems, and network applications using a real world interface; and        5. Brings functionally robust management tools to client/server systems.        
The need for a system to accomplish these objectives was the result of certain historical developments that resulted in many users having widely diverse computer systems. In the early years of computing, mainframe computers were widely used. The advent of client/server systems brought a new dimension to systems management. Multiple computers, from a simple one client/one server environment, to a complex array of different computers from different manufacturers supporting large and complex client/server applications using a wide variety of software systems must be administered as if they were one interoperable system.
In large networks, with hundreds, or even thousands, of workstations and dozens of servers, administration and management of the individual workstations is a very substantial task. The administration can include workstation configuration control, system security, workstation fault correction, application monitoring for software license compliance, software application distribution, software version control, and customization of user environment. In such large networks, administration became time-consuming and tedious because the system administration was in the same physical location as the workstation. Since these workstations are typically spread over a large areas such as a large, multi-story building, multiple cities, and even multiple countries, a significant amount of time and effort was spent in traveling between workstations to perform management tasks.
In the prior art, the focus of system management was on network equipment and systems. See, Stafford, “Application Management—Client-Server's Missing Link,” Bar Business, Feb. 1, 1996, Volume. 12, No. 2, p. 133. The prior art had developed infrastructure that support the users' key assets: enterprise client-server applications and the data within them. However, client-server application management was non-existent. Client-server users could only inefficiently, if at all, account for the assets within the system, determine what applications were on their networks, assess how those applications were performing, identify failures occurring in hardware or software assets, and then diagnose and correct faults. In part, because of these difficulties, planning for network growth also was a task that was difficult at best. Prior to the invention described herein, there was no built-in way, efficiently, to get this information in a distributed application environment.
Unsuccessful attempts have been made to develop an end-to-end solution to provide real time information about application health, administration, service level and performance. Application health typically encompassed queues, process states, interrupts and network traffic. Two dimensional lists of assets, presented on a monitor, were utilized. Using these lists, systems administrators dealt with application control issues, such as start/stop, user authentication and load balancing. Service level and performance includes response time, trend analysis, threshold alert and predictive analysis. Failures were hard to trace when the application management was not part of a system/network management scheme. Typically, businesses reported that a significant percentage of client-server trouble reports were attributed to application software. Mainframe systems had embedded, centralized application monitoring facilities. However, in distributed environments, following the data flow is a complex task, since application and data go through many steps. Therefore, there has been a long felt need for a system which could capture and act upon information about the behavior of all the applications running on a networked system that included client-server systems.
Developers have attempted to create a system to monitor a client-server network in its entirety. Conventional network management solutions stabilized the infrastructure that support the user's key assets, enterprise client-server applications and the data within them. Then a second generation of development products were developed which attempted to monitor a client-server network in its entirety, across heterogeneous platforms, from a single console. These systems monitor certain functions such as CPU time, input/output and disk space and also perform and monitors security for the enterprise. They provided such functions as sending alert-or-perform-the-task signals to enforce enterprise-wide policies for such things as network performance and security access.
However, as systems became larger, more widespread, and more heterogeneous, prior to the present invention, there has been no acceptable method for a manager fully to comprehend either the network system or the assets relevant to a particular malfunctioning subsystem. Conventional human interfaces, such as “trees” which displayed the structure of the network in text form, or simple icons, which represented parts of the system in two-dimensional form, were inadequate to provide a real-time system overview, or subsystem overview to allow the administrator to envision a system, its malfunction, and the corrective action needed.
Thus, prior to the present invention, there has been no application management system and process, which would provide an understandable, yet comprehensive, system-wide overview of the network, or of a subpart of the network. The present invention relates to a method and apparatus of providing a three dimensional, animated overview and system to monitor and troubleshoot even the most complex client-server system. Also, prior to the present inventions, there has been no client-server administration system which not only can monitor an individual resource or specific platform, but also can provide an effective connection between specific business operations and enterprise information technology management.
The present invention achieves a broad reach of hardware platform integration across heterogeneous networks and applications. This allows the present invention to manage business processes and production activities such as by detecting a potential inventory shortage and sending out a rush order to the appropriate supplier.
In many applications, including network management, modeling, web site design and project management, user interfaces can be based on graph diagrams. These diagrams show icons or shapes interconnected with lines. To convey more information about the objects and connections, both may be annotated with text and numbers, or drawn with different shapes, icons, colors or animated effects.
It is also common that the objects in such diagrams, and sometimes the connections as well, may contain further structures. The contents of an element in the diagram may be represented as another diagram of the same type, or in some other form, including other types of diagrams, property sheets or text. The most common type of navigation in user interfaces based on this concept is opening the component to see its contents. For example, by double-clicking with the mouse, selecting a menu item or other similar action, the user replaces the current view with another one. The new diagram may replace the current one in the program's window, or may open another window.
However, this common user interface approach has several disadvantages. The sudden transition from one diagram to another has the effect of losing the context for the user: the elements in the contained diagram have no visible relationship to the elements of the containing structure. It is also psychologically jarring, and interrupts the work flow. Further, it enforces a hierarchical structure among the graphs that is not always significant.
Other user interfaces have used the concept of continuous zooming to reflect such containment structures. Icons are displayed on a virtual desktop, and the user can seamlessly zoom and pan on this desktop. As the user zooms in and the icons become larger in the user interface, their internal structure appears, in the form of other icons, text or other information. The user interface permit indefinite zooming, as long as there is more information contained in a visible element.
While such systems have several usability advantages, they have not been able to represent the more complex structures that require graph diagrams, with interconnected nodes.
In the field of network management, the common techniques for visualizing the structure of the network are nested 2-D diagrams, 3-D visualization, tree controls and the new continuously zooming infinite graph diagram. Each of these techniques has advantages, but none is good at handling one particular problem: following a trail of relationships in a very large and bushy graph. The problem is common, and is characterized by a rapid fan-out of links. These links may represent physical network links, logical network links at various levels of a network stack, or the logical dependency relationships that drive Quality of Service analysis, impact analysis and root cause analysis.
If all of these links are displayed in a conventional static diagram, the diagram is rapidly overwhelmed by the number of links. Various prior-art visualization techniques attempt to deal with the problem through nesting, filtering or scrolling, but none is very successful.
The hyperbolic tree is a well-known technique for visualizing directed graphs. It renders the diagram as a straight-forward expanding tree, and solves the bushiness problem by rendering the graph on a hyperbolic surface. The diagram appears to the user as if it is drawn on the surface of a sphere: as nodes get further away from the center, they get smaller and eventually disappear over the horizon.